package com.learner.ucenter.service;

import com.learner.pojo.user.SingleMessage;
import com.learner.pojo.user.vo.HistoryMsgRequestVo;
import com.learner.pojo.user.vo.IsReadMessageRequestVo;
import com.learner.pojo.user.vo.SingleHistoryResultVo;
import com.learner.pojo.user.vo.SingleMessageResultVo;

import java.util.List;

/**
 * @author ice2020x
 * @Date: 2023/2/26
 * @Description: 单聊信息
 **/
public interface SingleMessageService {

    /**
     * 获取最后一条消息
     *
     * @param roomId 房间id
     * @return 结果
     */
    SingleMessageResultVo getLastMessage(String roomId);

    /**
     * 获取最后一条消息
     *
     * @param roomId 房间id
     * @return 结果
     */
    SingleMessageResultVo getLastMessageOrNull(String roomId);

    /**
     * 获取好友间的单聊信息
     *
     * @param roomId    房间id
     * @param pageIndex pageIndex
     * @param pageSize  pageSize
     * @return 结果
     */
    List<SingleMessageResultVo> getRecentMessage(String roomId, Integer pageIndex, Integer pageSize);

    /**
     * 修改状态标记为已读
     *
     * @param ivo 参数
     */
    void userIsReadMessage(IsReadMessageRequestVo ivo);

    /**
     * 获取单聊的历史记录
     *
     * @param historyMsgVo 房间id
     * @return 结果
     */
    SingleHistoryResultVo getSingleHistoryMsg(HistoryMsgRequestVo historyMsgVo);
    /**
     * 添加一条单聊记录
     *
     * @param message 参数
     */
    void addNewSingleMessage(SingleMessage message);
}